 //#include <stdio.h>
 //#include <sys/types.h>
 //#include <unistd.h>
 
//int main()
// {   
  //   while(1)
  //  {
  //      
  //       printf("pid: %d\n", getpid());
  //       printf("ppid: %d\n", getppid());
  //       sleep(1);
  //  }
  //


   // return 0;
 //}
 //
 //
 
//int main()
//{
//   printf("before fork: I am a prcess, pid: %d, ppid: %d\n", getpid(), getppid());
//
//   sleep(5);
//   printf("开始创建进程啦!\n");
//   sleep(1);
//   pid_t id = fork();
//   if(id < 0) return 1;
//   else if(id == 0)
//   {
//       // 子进程
//       while(1){
//           printf("after fork, 我是子进程: I am a prcess, pid: %d, ppid: %d, return id: %d\n", getpid(), getppid(), id);
//           sleep(1);
//       }
//   }
//   else{
//       // 父进程
//       while(1){
//           printf("after fork, 我是父进程: I am a prcess, pid: %d, ppid: %d, return id: %d\n", getpid(), getppid(), id);
//           sleep(1);
//       }
//   }
//
//
//   sleep(2);
//   return 0;
//}
//

//#include <stdio.h>
//#include <stdlib.h>
//#include <unistd.h>
//int main()
//{
//	printf("I am running...\n");
//	pid_t id = fork();
//	if(id == 0){ //child
//		int count = 5;
//		while(1){
//			printf("I am child...PID:%d, PPID:%d\n", getpid(), getppid(), count);
//			sleep(1);
//		}
//	}
//	else if(id > 0){ //father
//		int count = 5;
//		while(count){
//			printf("I am father...PID:%d, PPID:%d, count:%d\n", getpid(), getppid(), count);
//			sleep(1);
//			count--;
//		}
//		printf("father quit...\n");
//		exit(0);
//	}
//	else{ //fork error
//	}
//	return 0;
//} 

//#include <stdio.h>                                                              
//#include <unistd.h>
//#include <sys/types.h>
//                      
//int main(){
//    printf("马上准备创建子进程\n");
//    pid_t id =  fork();
//    if(id < 0) perror("fork error\n");
//    else if(id == 0) {
//        //子进程
//        int cnt = 5;
//        while(cnt){
//            printf("I am child ,pid: %d ,ppid: %d\n",getpid(),getppid());
//            sleep(1);
//            cnt--;
//        }
//    }
//    else{
//        //父进程
//        int cnt = 10;
//        while(cnt){
//            printf("I am father ,pid: %d ,ppid: %d\n",getpid(),getppid());
//            sleep(1);
//            cnt--;
//        }
//    }
//    return 0;
//}

//  #include <stdio.h>    
//                                                                                
//	int main(int argc, char *argv[], char *env[]){    
//       int i = 0;           
//       for(; env[i]; i++){         
//          printf("%s\n", env[i]);    
//       }          
//       return 0;    
//  }


//#include <stdio.h>
//#include <sys/types.h>
//#include <unistd.h>
//int g_val = 1;//全局变量
//int main()
//{
//	pid_t id = fork();
//	if(id == 0)//子进程
//	{
//		g_val = 2;
//		printf("子进程：PID:%d, PPID:%d, g_val:%d, &g_val:%p\n", getpid(), getppid(), g_val, &g_val);
//	}
//	else if(id > 0)//父进程
//	{
//        sleep(3);
//		printf("父进程：PID:%d, PPID:%d, g_val:%d, &g_val:%p\n", getpid(), getppid(), g_val, &g_val);
//	}
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
////定义全局变量
////未定义
//int g_unval;
////已定义
//int g_val = 1;
//int main(int argc, char* argv[], char *envp[])
//{
//    printf("代码区:%p\n", main);
//    char* str = "hello";
//    printf("只读常量区:%p\n", str);
//    printf("初始化数据区:%p\n", &g_val);
//    printf("未初始化数据区:%p\n", &g_unval);
//
//    int* p = (int*)malloc(5);
//    printf("堆区:%p\n", p);
//    printf("栈区:%p\n", &str);
//    printf("栈区:%p\n", &p);
//
//    //命令行参数
//
//    {
//        printf("命令行参数:%p\n", argv[i]);
//    }
//    //环境变量
//    int i = 0;
//    while(envp[i])
//    {
//        printf("环境变量:%p\n", envp[i]);
//        i++;
//    }
//    return 0;
//}

//#include <stdio.h>
//#include <unistd.h>
//#include <stdlib.h>
//#include <sys/types.h>                                                                                         
//int main()
//{
//  printf("fork before:PID:%d\n", getpid());
//  pid_t id = fork();
//  if(id == -1)//错误
//  {
//    printf("error\n");
//  }
//  printf("fork after:PID:%d, PPID:%d\n", getpid(), getppid());
//  return 0;
//}
#include<stdio.h>
#include<string.h>
int main()
{
   // for(int i = 0;i < 150;i++)
   // {
   //     printf("%d:%s\n",i,strerror(i));
   // }
   //
   printf("Hello AmAo && Conia!!!\n");
    return 99;
}
